💡 เมื่อเราได้เรียนรู้วิธีการเขียนเว็บมาสักพักแล้ว ไม่ว่าจะเป็นพื้นฐานที่สำคัญ เช่น HTML, CSS และ JavaScript แล้วเราอยากจะอยากไปลองใช้ Library หรือ Framework เจ๋ง ๆ ที่ช่วยในการเขียนเว็บ อย่าง React ต้องรู้อะไรบ้าง ??
.
👉 ซึ่งไอเจ้า React เนี่ยมันมีพื้นฐานจาก JavaScript นั่นเอง เราจึงจำเป็นต้องรู้ Concept ที่สำคัญ ๆ ก่อนจะไปใช้งานเจ้า React นั่นเอง
.
มีอะไรบ้าง?? ไปดูกันเลยจ้า 🔥
.
⚙️ Basic Data Structure
Data Structure เป็นหัวใจหลักในการเขียนโปรแกรม ดังนั้นเราต้องเรียนรู้ Data Structure ประเภทต่าง ๆ ให้เข้าใจก่อน ตัวอย่างเช่น การรับ-ส่ง Request จาก API มายัง JS เราก็ต้องมีวิธีที่จะจัดการกับโครงสร้างของข้อมูลที่ดึงมาจาก API เพื่อให้เราสามารถนำข้อมูลนั้นไปใช้ได้ตามต้องการ
.
🌟 DOM
DOM หรือ Document Object Model เป็นการปรับเปลี่ยนโครงสร้าง HTML ให้เป็นแบบ Object โดยให้ JavaScript สามารถจัดการกับ HTML ผ่านโครงสร้างของ DOM ได้นั่นเอง ซึ่งเจ้า React จะใช้โครงสร้าง DOM เป็นหลัก เพื่อสร้างการโต้ตอบบนหน้าเว็บที่สะดวกยิ่งขึ้น ตัวอย่างเช่น เมื่อคลิกปุ่มสามารถแสดงข้อความ หรือเปลี่ยนสีของข้อความนั่นเอง
.
🚚 API
API ย่อมาจาก Application Program Interface ซึ่งเราต้องมีพื้นฐานการใช้งาน API เพื่อนำข้อมูลมาใช้บนหน้าเว็บนั่นเอง อาจจะไม่ต้องถึงกับสร้าง API ใช้ก็ได้นะ เพียงแค่รู้โครงสร้าง และวิธีการดึงมาใช้งานพื้นฐานก็พอแล้ว !!
.
🔧 Axios / Fetch
เครื่องมือสำคัญที่ช่วยให้เราดึง API ต่าง ๆ มาใช้งานได้ง่ายมากขึ้นนั่นเอง !! ซึ่งเป็นสิ่งสำคัญมาก ๆ ในการพัฒนาหน้าเว็บ เพราะมันจะช่วยให้เราสามารถรับ-ส่งข้อมูลแบบไดมามิก และเชื่อมต่อระหว่าง Back-end ได้ง่าย
.
📚 ES6+
สิ่งสำคัญคือเราต้องเรียนรู้วิธีเขียน JavaScript มาตรฐานใหม่ ซึ่งจะช่วยให้โค้ดของเรามีรูปแบบที่อ่านง่ายมากขึ้น !! ซึ่งใน React ที่จะนิยมใช้ ได้แก่ Template Literals, Arrow Functions, Promise, Async / Await, const & let vs var และ Spread Operator นั่นเอง
.
🗂️ JS Array Methods
เมื่อเราสามารถดึงข้อมูลจาก API มาใช้ได้แล้วนั้น เราก็ต้องรู้จักวิธีจัดการกับข้อมูลนั้น ๆ ด้วยนะ ซึ่งมันจะง่ายขึ้นถ้าเรารู้จักใช้ความสามารถของ Array Methods ต่าง ๆ ซึ่งที่นิยมใช้กัน ได้แก่ map(), forEach(), find(), และ filter() เป็นต้น บอกเลยว่าถ้าใช้พวกนี้เป็น ทำให้ชีวิตง่ายขึ้นแน่นอน!! 5555
.
อะทั้งหมดนี้คือ Concept JavaScript พื้นฐานที่สำคัญที่คนเขียน React ต้องมีนะ หวังว่าเพื่อน ๆ จะชอบกันน้าาาา ใครมีอะไรเพิ่มเติมคอมเมนต์ไว้ได้เลย 🥰
.
📑 Source : https://lorenzejay.hashnode.dev/javascript-concepts-you-should-know-before-jumping-into-react-or-any-other-frontend-framework
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有1部Youtube影片,追蹤數超過136萬的網紅JJ Lin林俊傑,也在其Youtube影片中提到,[Click CC for English / Chinese subtitles] JJ 林俊傑《倖存者 • 如你》雙EP ? https://jjlin.lnk.to/JJDrifterLikeYouDO As I traverse this Wonderland I wonder w...
「js await」的推薦目錄:
- 關於js await 在 BorntoDev Facebook 的精選貼文
- 關於js await 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於js await 在 JJ Lin林俊傑 Youtube 的最佳解答
- 關於js await 在 Promise and Async/Await Example - GitHub Gist 的評價
- 關於js await 在 Javascript Promises vs Async Await EXPLAINED (in 5 minutes) 的評價
- 關於js await 在 callback, promise, async/await 使用方式教學以及介紹Part I 的評價
- 關於js await 在 JavaScript Async / Await: Asynchronous JavaScript 的評價
- 關於js await 在 Async/Await not waiting? - javascript - Stack Overflow 的評價
- 關於js await 在 javascript - await does not wait for Promise to finish 的評價
js await 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] Solidity Weekly #16
✍️ mingderwang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Expo (React Native) + web3.js 1.0.x 開發手機 dApps
今天要介紹如何利用 Expo,來撰寫手機 dApp。基本上,如果想做到去中心化的 dApp,期望能將 Javascript app 能盡可能的包裹成單一檔案,用去中心化檔案儲存空間,讓手機或網頁直接下載來執行。手機版的 App,也可用 Expo 做到類似的結果,但目前 Expo 還是有點中心化;當然利用 cipherbrowser 或 status.im 等方式開發也行,只要你不怕被 vendor lock-in。
Expo 是一種 MIT license 的開放源始碼,讓 React Native 開發與部屬更為簡單,讓用戶只要先下載 iOS 或 Android 的 Expo clients。就很容易透過 exp://xxx 的 URI 來執行。因為 React Native 跟 web3.js 都是用 Javascript 語言,因此很容易整合。(註:web3.js 也不是唯一連區塊鏈的方法,只是搭配 Remix,能產生 web3 程式片段,所以比較方便)
但由於 React Native 非 100% 與 node.js 相容,因此有些 workarounds 要做,例如 node 內建 standard library 裡的 crypto (註 2),Buffer 等 React Native 就沒有,所以這裏還不是很方便。(喜歡 truffle 的人,也可參考 react-native-box 來做,但也還沒很成熟)
Mobile dApp 有個問題是,你(用戶)沒有 localhost 自己的 node 當成 web3 provider 可以連線到 Ethereum 區塊鏈。所以有幾種選擇,最簡單的就是要再相信某一個 node,這裡用 infura (與 Metamask 同一家公司),也許還要搭配其他方法,讓這 dApp 不要依賴任何 server 也能運作。但如果要用到 HDWallet,還是要用 truffle-hdwallet-provider 來當 web3 provider,也能同時避開沒有 crypto 的問題。
使用 Expo 開發畫面
註 1:直接用 React Native 開發,不容易除錯,且速度慢。所以建議程式邏輯可以考慮用 React Native for Web 在 CodeSandbox.io 先做開發和測試,最後再搬到 Expo 的 React Native 裡。(或直接在 codesandbox.io 開發 Expo 程式也行)
CodeSandbox
註 2:例如當在 Expo 的環境裡使用到 web3.eth.accounts.create() 時,會出現以下 error,但其他地方(Condsandbox)不會。
解決方法,不要用 web3 provider 改用 truffle-hdwallet-provider (在 React Native 裡要用 Promise.promisifyAll 繞過問題)
var HDWalletProvider = require("truffle-hdwallet-provider"); var mnemonic = "manage velvet tide tube object spin identify neither foot together wagon tip"; var hd = new HDWalletProvider(mnemonic, "https://mainnet.infura.io/"); web3 = new Web3(hd); Promise.promisifyAll(web3.eth); let accounts = await web3.eth.getAccountsAsync();
Solidity Weekly #16 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
js await 在 JJ Lin林俊傑 Youtube 的最佳解答
[Click CC for English / Chinese subtitles]
JJ 林俊傑《倖存者 • 如你》雙EP
? https://jjlin.lnk.to/JJDrifterLikeYouDO
As I traverse this Wonderland
I wonder what the other side beholds?
Am I awake in my sleep
Or asleep in my consciousness?
If I’m gonna lose everything when I wake
I’d rather stay asleep and hold you while I can
And lock this moment in our tight embrace
Everything turned to nought when I awakened
Yet, this void catalysed a reset
As I slowly got buried in the quicksand
My expiration and regeneration had happened in parallel realms
穿越了這片Wonderland
那一端
是睜著眼沈睡
還是閉著眼清晰
假如 睜開眼就將失去
也要在所能之際 緊閉著眼 緊抱你 緊抱住這一刻擁有
這一刻 睜開眼 宛如煙消雲散
但歸零的同時 又出發了
當流沙不斷飛逝 都將注入另一部分的自己
逐漸消逝的同時 正在啟動重生的能量
_
《While I Can》在【倖存者.如你】專輯中,是一座任意橋樑。
【倖存者 Drifter】EP中,完全體現出 JJ林俊傑 耕耘累積了17年的能量。然而,透過《While I Can》踏出華語音樂市場,以《Wonderland》的編曲為基底,延續音樂色調,但跨越多年來的舒適圈,與美國當地製作團隊合作,並填上浪漫但淒美的英文歌詞,打造成一首全新的歌。
《Wonderland》之於《While I Can》,就像雙EP的JJ一樣
當從Wonderland衝出窗外的那一端
是夢,是現實
JJ林俊傑 又將如何
故事才正要開始
_
This MV brings me through a psychedelic journey of self-realization
Where I tear down my walls and strip myself bare in discovery of who I really am
Traversing the depths of consciousness
I’m gripped by inexplicability
As I examine the blurred lines of dream VS reality, alternating different universes, what versions of me await?
While I Can, I hold tight to what I love
While I Can, I relinquish all I have to the universe
Shredding away my ego, burdens and excess baggage, I come to nought
Yet, no longer enslaved, I am reborn.
透過 MV 進入 JJ 的潛意識旅程,
層層地剝開自我,不斷追尋著心中最純粹的自己。
通往意識狀態的入口,是突如其來、超越理解的瞬間。
當踏出現實進入不同的意識階段,又將會遇見怎樣的自己,
那是一望無際,亦或是夢中仙境。
每一次與內心的自我接觸,都將轉換時空,脫離意識,
所能之際擁抱,所能之際奉獻擁有的一切與這宇宙交換,
於是內心自我不斷消散、釋懷而放手的重生。
#JJXIV #JJWhileICan
#JJ林俊傑倖存者如你
#JJDrifterLikeYouDo
_
Lyrics詞|Josh Cumbee / 林俊傑 JJ Lin / Fernando Garibay
Composer曲|Josh Cumbee / 林俊傑 JJ Lin / Fernando Garibay / Ramiro Padilla / Daniel Padilla
Producer 製作人|Fernando Garibay / Ramiro Padilla / Daniel Padilla
Vocal Production配唱製作|Fernando Garibay / Ramiro Padilla / Danny Padilla
Music Arrangement & Keyboards編曲 & 鍵盤|Fernando Garibay / Ramiro Padilla / Danny Padilla / JJ 林俊傑 & The Swaggernautz
Instrument樂器|Fernando Garibay / Ramiro Padilla / Danny Padilla / 黃冠龍 ALEX.D
Recording Studios錄音室|The Garibay Center
Recording Engineers錄音師|Fernando Garibay / Ramiro Padilla / Danny Padilla
Mixing Studio混音室|mixHaus Studios (Los Angeles)
Mixing Engineer混音師|Richard Furch
Assistant Mixing Engineer混音助理 |Domenic Tenaglia
Mastering Producer後期母帶處理製作人|JJ 林俊傑
Mastering Studio後期母帶處理錄音室| STERLING SOUND MASTERING , NY
Mastering Engineer後期母帶處理錄音師|Chris Gehringer
Production Company製作公司|LUCKYSPARKS
Director導演|陳亨利 Henry Chen
Co-Director共同導演|紀培慧 Teresa Daley
Assistant Director副導|張省云 Sibyl Chang Shing Yu
Executive Producer監製|高郁傑 Otis Kao
Production Manager製片經理|黃盈慈 Kiki Huang
Producer製片|Olan Huang
Line Producer執行製片|郭立賢
Location Manager場地經理|黃筱晴
Production Assistant製片助理|蔡旻樺 Min Hua Tsai
Production Assistant場務|任信成
Director of Photography攝影指導|潘星佑 Hsin You Pan
Movi Operator Movi技師|洪建凱 / 張育甄
攝影大助First Assistant Camera|王士偉 Sway Wanze
Gaffer燈光師|謝松銘 Sung-Ming Hsieh
Best Boy Electric燈光大助|陳晉緯
Electrician 燈光助理|王建銘 / 馬翊展 / 蘇志豪
Grip場務|力榮影業有限公司
Art Director 美術指導|Mingko Wang
Set Decorator 執行美術|黃少築 / 陳韻如
Art PA美術場務|阿英
Stylist for JJ Lin 林俊傑造型|韓忠偉 Justin Han
Styling Assistant for JJ Lin 林俊傑造型助理|俞舒泰 Tiger Yu
Makeup Artist for JJ Lin 林俊傑化妝|高秀雯 Jasmine Kao @prettycool_makeup
Hair Stylist for JJ Lin 林俊傑髮型|胡智豪 Peter Wu @peter_wu_coloriste_
Costume Designer劇組造型師|羅宛怡 Lo Wanyi
Wardrobe Assistant劇組造型執行|黃憶柔 Huang Yi Rou
Hair & Makeup劇組妝髮師|曹崇英 Nikki Tsao / 顏琳軒 Linlin Yen
Casting Director演員管理|李嘉峰
Cast演員|Kimi
Stills Photographer劇照師|李欣哲 Hsin Che Lee
Behind The Scenes花絮側拍師|沐旅影像製作工作室mulustudio(動態)/陳小烈LieChen(平面)
Transportation九巴司機|五福將工作室
Camera Equipment 攝影器材|阿榮影業股份有限公司
Lighting Equipment燈光器材|阿榮影業股份有限公司
Post Production後期團隊|Finger & Toe
Post Production Producer後期製片|吳珮瑜 Sunny Wu
Post Producer Assistant後期製片助理|王芃勻 Daiso Wang
Editor剪接師|陳亨利 Henry Chen
Colorist調光師|馮鈞稜 Justin Feng / 良奇 (@TimeLine Studio 時間軸)
VFX Supervisor特效總監|林貫洋 Guan Lin
VFX Artist特效師|林貫洋 Guan Lin
Compositing合成|炎殺頑特效 DarkFlame Studio
Roto Artist|吳齊農
Storyboard Artist腳本師|孫靜誼 Joy Sun (@JoySunArt)
Production Support 製作協力|JFJ PRODUCTIONS Corp. Ltd.
Artiste Management 藝人經紀|徐佩雲 Yvonne See
Artiste Management Executive 執行經紀|韋佩佩 Wee Peipei、孫凡崴 Gaspard Sun、李文元 Yuan Lee、陳明君 Kirsten Chen
Artiste Assistant 藝人助理|彭靖深 JS Pang
Digital Marketing 數位行銷|游巧媃 CJ Yu、張皓婷 Carol Chang
Published by 發行|華納國際音樂股份有限公司 Warner Music Taiwan Ltd.
Publisher & Executive Director出品人及監製|周純如 Ruby Chou
Chief Content Director 首席內容及創意總監|梁兆林 Terry Leung
Product Planning Executive 產品企劃專員 |陳昭岑 Verna Chen
Assistant Director of Marketing Promotion 行銷副總監|張雅婷 Georgina Chang
Manager of Marketing Promotion 行銷經理|卓郁函 Yuhan Cho
Supervisor of Marketing Promotion 行銷主任|劉慧君 Jean Liu
Executive of Marketing Promotion 行銷專員|余岱凌 Dolly Yu
Digital Media Executive 社群媒體行銷專員|張又琳 Catherine Chang
Account Servicing Manager 數位客戶服務經理|曾柏翔 Austin Tseng
js await 在 Javascript Promises vs Async Await EXPLAINED (in 5 minutes) 的推薦與評價
In this tutorial I explain what Javascript promises are, why we need them, and how to use them, catch errors properly and then convert the ... ... <看更多>
js await 在 callback, promise, async/await 使用方式教學以及介紹Part I 的推薦與評價
Callback. Callback 是JS 很常用的一種使用方式簡單來說,就是把function 當作參數傳進去使用以下是簡單的使用 ... ... <看更多>
js await 在 Promise and Async/Await Example - GitHub Gist 的推薦與評價
因此async function 之後也可以用`.then()` 串起來 ... console.log('get value after await', val) // STEP 2-1 ... Async-Await 搭配Promise.all 使用.js ... ... <看更多>